﻿namespace Lapd.Common
{
    public enum SddsStanzaType
    {
        Join,
        Write
    }

    public static class ServiceDdsConstants
    {
        // Global -----
        public const string SDDS_TAG_NAME = "sdds";
        public const string SDDS_OPENFIRE_NAMESPACE = "sddsopenfire";
        public const string JID_TO_PREFFIX = "serviceddsopenfire";

        // Join -----
        public const string JOIN_TAG = "join";
        public const string JOIN_GROUP_ATTRIBUTE = "group";

        // Write -------
        public const string WRITE_TAG = "write";
        public const string WRITE_INSTANCE_ATTRIBUTE = "instancename";

        // Write - Sample
        public const string WRITE_SAMPLE_TAG = "sample";
        public const string WRITE_SAMPLE_FIELD_TAG = "samplefield";
        public const string WRITE_SAMPLE_FIELD_DATATYPE_ATTRIBUTE = "datatype";
        // HACK: remove and replace with WRITE_SAMPLE_FIELD_DATATYPE_ATTRIBUTE when Bambino fix the misprint
        public const string WRITE_SAMPLE_FIELD_DATATYPE_ATTRIBUTE_MISPRINT = "dataype";
        public const string WRITE_SAMPLE_FIELD_VALUE_ATTRIBUTE = "value";

        // New ---------
        public const string NEW_TAG = "new";
        public const string NEW_INSTANCE_ATTRIBUTE = "instancename";
        public const string NEW_DATA_TYPE_ATTRIBUTE = "datatype";

        // Listen --------
        public const string LISTEN_TAG = "listen";
        public const string LISTEN_INSTANCE_ATTRIBUTE = "instancename";

        // AlarmTopic ----
        public const string ALARM_TOPIC_DATA_TYPE = "LAPD.AlarmTopic";
        public const string ALARM_TOPIC_INSTANCE_NAME = "AlarmTopic";
        public const string ALARM_TOPIC_HELP_TYPE = "Help";

        // WarningRequestTopic -----
        public const string WARNING_REQUEST_TOPIC_DATA_TYPE = "LAPD.WarningRequestTopic";
        public const string WARNING_REQUEST_TOPIC_INSTANCE_NAME = "WarningRequestTopic";
        public const string WARNING_REQUEST_TOPIC_OK = "OK";

        // WarningResponseTopic -----
        public const string WARNING_RESPONSE_TOPIC_DATA_TYPE = "LAPD.WarningResponseTopic";
        public const string WARNING_RESPONSE_TOPIC_INSTANCE_NAME = "WarningResponseTopic";
        public const string WARNING_RESPONSE_TOPIC_OK = "OK";
        public const string WARNING_RESPONSE_TOPIC_KO = "KO";

        // LocationAlarmTopic -------
        public const string LOCATION_ALARM_TOPIC_DATA_TYPE = "LAPD.LocationAlarmTopic";
        public const string LOCATION_ALARM_TOPIC_INSTANCE_NAME = "LocationAlarmTopic";

        // LocationRequestTopic -------
        public const string LOCATION_REQUEST_TOPIC_DATA_TYPE = "LAPD.LocationRequestTopic";
        public const string LOCATION_REQUEST_TOPIC_INSTANCE_NAME = "LocationRequestTopic";
        public const string LOCATION_REQUEST_TOPIC_WHERE_ARE_YOU = "WhereAreYou";

        // LocationResponseTopic -------
        public const string LOCATION_RESPONSE_TOPIC_DATA_TYPE = "LAPD.LocationResponseTopic";
        public const string LOCATION_RESPONSE_TOPIC_INSTANCE_NAME = "LocationResponseTopic";

    }
}
